﻿#define _CRT_SECURE_NO_WARNINGS 1

/*
描述
给你一个整数n，按要求输出n∗n的回型矩阵
输入描述：
输入一行，包含一个整数n

1<=n<=19
输出描述：
输出n行，每行包含n个正整数.
示例1
输入：
4
复制
输出：
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
*/
#include <stdio.h>
int main()
{
    int i, j, n;
    int p, q;
    int a[20][20];
    int count;
    scanf("%d", &n);
    count = 0;
    p = 0;
    q = n - 1;
    while (count < n * n)
    {
        for (i = p; i <= q; i++)
            a[p][i] = ++count;
        for (i = p + 1; i <= q; i++)
            a[i][q] = ++count;
        for (i = q - 1; i >= p; i--)
            a[q][i] = ++count;
        for (i = q - 1; i >= p + 1; i--)
            a[i][p] = ++count;
        ++p;
        --q;

    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
            printf("%5d ", a[i][j]);
        printf("\n");
    }

}